线程间传递比较大的结构数组的最佳方案
最近遇到个问题:
上次说到那个光纤分析仪的dll里会返回一个结构体 , 内部有两个记录了7500个位置的数组,
需要在一个线程里连续读取这个dll的返回数组, 然后更新并返回给其他线程使用.
之前用thread.set("pos1",table_A)来传递到其他线程, 测试结果发现这句话需要执行30毫秒左右,然后我换成thread.table, 执行结果20毫秒左右,感觉这种方式效率比较低, 那么有没有其他方式?
经过我的各种测试,最终得出的结论如下:
答案:使用
记ProEssentials图表控件在aardio中的使用
再更新一点.
最近用光束分析仪的时候了解了结构体struct的使用, 所以这里的PEvset
也可以用结构体定义, 这样省的用raw.buff包装了.
记ProEssentials图表控件在aardio中的使用
3D波形图演示
import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=759;bottom=469) winform.add( button={cls="button";text="Button";leftdll调用学习----modbusRTU.dll
谢谢分享.
声明dll的时候貌似不能带初始化参数吧
RTUOpenCom= dll.api("RTUOpenCom","bool(int nPort, INT dwBaud, BYTE nDataBits, BYTE parity, BYTE stopBits)");光束分析仪BP209-IR/M的动态库TLBP2_32.dll得通信调用
经过jacenHe老大的指点, 我上面把结构体用法复杂化了, dll声明的时候可以直接用struct , 这样会简单很多. 还有结构体数组也是可以直接赋值的. 具体可以看下面的代码.
程序修改后如下:
import console console.open() var dll = ..raw.loadDll("\res\TLBP2_32.dll","beamLib"); TLBP2_get_connected_devices = dll.api("TLBP2_get_connected_devi光束分析仪BP209-IR/M的动态库TLBP2_32.dll得通信调用
最近用到这个设备, 这里写下调用的时候遇到的问题和解决方法.
这里先贴出来C语言的调用示例
//============================================================================== // // Title: CSample // Purpose: A short description of the command-line tool. // // Created on: 16.05.2013 at 14:01:49 byaardio调用ChartDirector实现饼状图表功能示例
ChartDirector是著名的商业图表, 包含有以下功能:
https://www.advsofteng.com
可以免费下载使用, 但是免费版底部会有一个黄色的版权条.
这里演示下饼状图表的aardio中
利用 fiber 以同步方式写异步实列, Chrome DevTools Protocol 操作小库
感谢分享 , 如果github打不开, 可以用gitee直接克隆github里面的项目,然后从gitee下载. 速度杠杠的.
dp好用啊.
获取播放地址:
从零开始一步步学习aardio+webView+Layui做界面笔记
界面第一步, 需要对界面进行划分, 分出不同的布局和功能区, 这里就要用到layui的栅格系统
https://www.layui.com/doc/element/layout.html
从文档里看到, 栅格类似表格那样对界面进行划分
layui-row 定义一行
layui-col-*** 定义一列,并定义这列占多少栅格(layui规定一行row分为12等分个col列栅格)
那么实际应该怎
从零开始一步步学习aardio+webView+Layui做界面笔记
好了, 首先新建个通用框架 , 在html目录中添加main.html ,修改代码如下
从零开始一步步学习aardio+webView+Layui做界面笔记
为什么用webview?
WebView2 Runtime,支持自主独立安装,支持WIN7,WIN8,WIN10,不支持XP
我做工业类软件比较多, 运行环境啥的让客户安装下没问题,我们也用过labview, 这个也是要安装runtime的, runtime好的一点就是虚拟运行引擎不会受到系统影响.
webview不像webform那样需要依赖ie, 它是独立的运行环境, 不同的电脑不存在兼容问题.
言归正传, 我基本上没学过web , 发到这里就是为了勉励自己 , 为自己接下来的学习提供动力.
(转)chakaraCore js 脚本引擎的aardio简单调用
感谢: fish 分享
https://github.com/btx638/ChakraCore-aardio
ChakraCore 是微软Edge浏览器的JavaScript开源解释器
能够解析、解释、编译和执行JavaScript代码;
对Microsoft Edge没有任何依赖。
它可以嵌入到其他产品中,提供脚本执行能力;
(转)hp socket 5.8.2 高性能网络扩展库
感谢: fish 分享
aardio的扩展库里已经有个jacenHe提供的HPsocket库,位置如下:
此次分享的是由fish封装的, 目前只封装了 ssl http client 部分
Nicomsoft OCR调用示例(NSOCR)
NISOFT OCR SDK 是一款目前免费图文识别开发库, 目前支持28国语言包括简体和繁体中文识别, 能够识别条形码/二维码,
图片支持: BMP, JPEG, PNG, TIFF, and GIF. 当然也支持内存图片识别.
识别出的结果可以保存成PDF, PDF/A (PDF/A-1a or PDF/A-1b), RTF, Text or XML
BLU蓝牙上位机求指导
回复#4 @chenqiang :
看你上面的callback定义, 貌似没啥问题,
dll引用是stdcall,你拼错了,void*可以用ADDR, UCHAR用BYTE,
另外你这里演示的是open的callback, 函数名最好一致
我这里调用dll会提示少了个api-ms-xxxxxx.dll, 网上下载了个还是不行, 没法测试, 可能需要注意的地方是raw.
BLU蓝牙上位机求指导
大致看了下, 回调在aardio里根据调用方式stdcall的有
thread.tostdcall
raw.tostdcall
看你那个dll是stdcall,用对应的转换下aar里面的函数成为函数指针即可.
https://www.chengxu.xyz/t/361
可以参考上面的例子, 还有aardio的sio串口库里其实也有这样的回调, 先琢磨下, 试试手, 还是不行的话, 贴上你的代码还有运行遇到的问题.
自己研
(转)七牛云文件上传aardio调用库分享
感谢: 周 (332XXX281) 分享
qiniuyun.aardio 库代码如下:
import web.rest.jsonClient; import crypt.hmac; import crypt.bin; import fsys.ini namespace qiniuyun; class auth{ ctor(accessKey,secretKey){ this = ..web.rest.jsonClient() this.accessKe